package Day22.带有缓冲区的字符串;

public class StringBufferDemo1 {
    public static void main(String[] args) {
        /***
         * 创建一个StringBuffer对象
         * StringBuffer对象创建时底层自动创建一个长度为16的字符数组
         * StringBuffer底层使用"动态数组"实现，当原来的字符数组长度不足时会自动扩容
         * (创建一个新数组，将原数组中的数据复制到新数组中)
         */

        StringBuffer strBuffer = new StringBuffer("abc");

        //向strBuffer中追加元素
        strBuffer.append("abc");

        strBuffer.append("xyz")
                    .append("ooo")
                    .append("java")
                    .append("jiazhong")
                    .append("xxx");
        //获得字符串的长度
        System.out.println(strBuffer.length());
        System.out.println(strBuffer);
        //向strBuffer中插入一个字符串
        strBuffer.insert(3,"hhhh");
        System.out.println(strBuffer);
        //从strBuffer中删除一个字符串
        strBuffer.delete(3,7);
        System.out.println(strBuffer);
        strBuffer.deleteCharAt(strBuffer.length()-1);
        System.out.println(strBuffer);
        //将StringBuffer转换为String
        String str = strBuffer.toString();
        System.out.println(str);
        strBuffer.reverse();
        System.out.println(strBuffer);
    }
}
